// 设计一个函数，可以控制另一个函数的执行次数

// 注意这里的的 ...names 属于 REST参数 ，也称作 剩余参数(收集参数)
let handler = function( counter , callback , ...names ){
    return function(){
        if( counter-- > 0 ){
            // 注意这里的 ...names 是将 names 数组展开后传递给 callback 函数
            callback( ...names );
        }
    } ;
}

// 注意这里的的 ...params 属于 REST参数 ，也称作 剩余参数(收集参数)
let welcome = function( first, second , ...params ){
    console.log( `热烈欢迎${first}和${second}一行来到云创动力视察` );
}

let h = handler( 3 , welcome , '马飞燕' , '马俊珍' );

h();
h();
h();

h();
